This signal is emitted quite a bit, and we can easily avoid it.
has_tooltip = gtk_widget_get_has_tooltip (*widget);
if (has_tooltip)
- g_signal_emit_by_name (*widget,
- "query-tooltip",
- *x, *y,
- tooltip->keyboard_mode_enabled,
- tooltip,
- &return_value);
+ return_value = gtk_widget_query_tooltip (widget, *x, *y, tooltip->keyboard_mode_enabled, tooltip);
if (!return_value)
{
return FALSE;
}
+gboolean
+gtk_widget_query_tooltip (GtkWidget *widget,
+ gint x,
+ gint y,
+ gboolean keyboard_mode,
+ GtkTooltip *tooltip)
+{
+ gboolean retval = FALSE;
+
+ g_signal_emit (widget,
+ widget_signals[QUERY_TOOLTIP],
+ x, y,
+ keyboard_mode,
+ tooltip,
+ &retval);
+
+ return retval;
+}
+
static void
gtk_widget_real_state_flags_changed (GtkWidget *widget,
GtkStateFlags old_state)
void gtk_widget_reset_controllers (GtkWidget *widget);
+gboolean gtk_widget_query_tooltip (GtkWidget *widget,
+ gint x,
+ gint y,
+ gboolean keyboard_mode,
+ GtkTooltip *tooltip);
+
/* inline getters */
static inline gboolean